Приложение 1. Язык выражений системы компоновки данных

Язык выражений системы компоновки данных предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей.

Литералы

В выражении могут присутствовать литералы. Возможны литералы следующих типов:

Строка,

Число,

Дата,

Булево.

Строка

Строковый литерал записывается в символах «"».

Копировать в буфер обмена
"Строковый литерал"

При необходимости использования внутри строкового литерала символа «"» следует использовать два таких символа.

Копировать в буфер обмена
"Литерал ""в кавычках"""

Число

Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.».

Копировать в буфер обмена
10.5
Копировать в буфер обмена
200

Дата

Литерал типа Дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова в скобках, через запятую, перечисляются год, месяц, день, часы, минуты, секунды. Указание времени необязательно.

Копировать в буфер обмена
ДАТАВРЕМЯ(1975, 1, 06) – Шестое января 1975 года
Копировать в буфер обмена
ДАТАВРЕМЯ(2006, 12, 2, 23, 56, 57) – Второе декабря 2006 года, 23 часа 56 минут 57 секунд

Булево

Булевы значения могут быть записаны при помощи литералов Истина (True), Ложь (False).

Значение

Для указания литералов других типов (системных перечислений, предопределенных данных) используется ключевое слово ЗНАЧЕНИЕ, после которого в скобках идет указание имени литерала.

Копировать в буфер обмена
ЗНАЧЕНИЕ(ВидСчета.Активный)

Поля

В выражениях могут использоваться поля наборов данных. Поле идентифицируется путем к данным. Части пути к данным отделяются друг от друга символом «.». Имя поля не является чувствительным к регистру.

Копировать в буфер обмена
Номенклатура.Артикул
Копировать в буфер обмена
Продажи.СуммаОборот

Параметры

Выражения могут использовать параметры. Для использования в выражении параметра достаточно написать его имя, которому будет предшествовать символ &.

Копировать в буфер обмена
&Контрагент
Копировать в буфер обмена
&ДатаНачала

1.1. Операции над числами

Унарный –

Данная операция предназначена для изменения знака числа на обратный.

Копировать в буфер обмена
–Продажи.Количество

Унарный +

Данная операция не выполняет над числом никаких действий.

Копировать в буфер обмена
+Продажи.Количество

Бинарный –

Данная операция предназначена для вычисления разности двух чисел.

Копировать в буфер обмена
ОстаткиИОбороты.НачальныйОстаток – ОстаткиИОбороты.КонечныйОстаток
Копировать в буфер обмена
ОстаткиИОбороты.НачальныйОстаток — 100
Копировать в буфер обмена
400357

Бинарный +

Данная операция предназначена для вычисления суммы двух чисел.

Копировать в буфер обмена
ОстаткиИОбороты.НачальныйОстаток + ОстаткиИОбороты.Оборот
Копировать в буфер обмена
ОстаткиИОбороты.НачальныйОстаток + 100
Копировать в буфер обмена
400 + 357

Произведение

Данная операция предназначена для вычисления произведения двух чисел.

Копировать в буфер обмена
Номенклатура.Цена * 1.2
Копировать в буфер обмена
2 * 3.14

Деление

Данная операция предназначена для получения результата деления одного операнда на другой.

Копировать в буфер обмена
Номенклатура.Цена / 1.2
Копировать в буфер обмена
2 / 3.14

Остаток от деления

Данная операция предназначена для получения остатка от деления одного операнда на другой.

Копировать в буфер обмена
Номенклатура.Цена % 1.2
Копировать в буфер обмена
2 % 3.14

1.2. Операции над строками

Конкатенация (Бинарный +)

Данная операция предназначена для конкатенации двух строк.

Копировать в буфер обмена
Номенклатура.Артикул + ": "+ Номенклатура.Наименование

ПОДОБНО (LIKE)

Данная операция проверяет соответствие строки переданному шаблону.

Значением оператора ПОДОБНО является Истина, если значение выражения удовлетворяет шаблону, и Ложь в противном случае.

Следующие символы в строке шаблона имеют смысл, отличный от просто очередного символа строки:

% – процент: последовательность, содержащая ноль и более произвольных символов;

_ – подчеркивание: один произвольный символ;

[…] – один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a–z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;

[^…] – в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания.

Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать спецсимвол, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE).

Например, приведенный ниже шаблон означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться начиная с произвольной позиции в строке.

Копировать в буфер обмена
"%АБВ[0–9][абвг]\_абв%" СПЕЦСИМВОЛ "\"

1.3. Операции сравнения

РАВНО

Данная операция предназначена для сравнения двух операндов на равенство.

Копировать в буфер обмена
Продажи.Контрагент = Продажи.НоменклатураОсновнойПоставщик

НЕ РАВНО

Данная операция предназначена для сравнения двух операндов на неравенство.

Копировать в буфер обмена
Продажи.Контрагент <> Продажи.НоменклатураОсновнойПоставщик

МЕНЬШЕ

Данная операция предназначена для проверки того, что первый операнд меньше второго.

Копировать в буфер обмена
ПродажиТекущие.Сумма < ПродажиПрошлые.Сумма

БОЛЬШЕ

Данная операция предназначена для проверки того, что первый операнд больше второго.

Копировать в буфер обмена
ПродажиТекущие.Сумма > ПродажиПрошлые.Сумма

МЕНЬШЕ ИЛИ РАВНО

Данная операция предназначена для проверки того, что первый операнд меньше либо равен второму.

Копировать в буфер обмена
ПродажиТекущие.Сумма <= ПродажиПрошлые.Сумма

БОЛЬШЕ ИЛИ РАВНО

Данная операция предназначена для проверки того, что первый операнд больше либо равен второму.

Копировать в буфер обмена
ПродажиТекущие.Сумма >= ПродажиПрошлые.Сумма

Операция «В» (IN)

Данная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, если значение найдено, или Ложь – в противном случае.

Копировать в буфер обмена
Номенклатура В (&Товар1, &Товар2)

Операция проверки наличия значения в наборе данных

Операция осуществляет проверку наличия значения в указанном наборе данных. Набор данных для проверки должен содержать одно поле.

Копировать в буфер обмена
Продажи.Контрагент В Контрагенты

Операция проверки значения на NULL ЕСТЬ NULL (IS NULL)

Данная операция возвращает значение Истина, если оно является значением NULL.

Копировать в буфер обмена
Продажи.Контрагент ЕСТЬ NULL

Операция проверки значения на неравенство NULL ЕСТЬ НЕ NULL (IS NOT NULL)

Данная операция возвращает значение Истина, если оно не является значением NULL.

Копировать в буфер обмена
Продажи.Контрагент ЕСТЬ НЕ NULL

1.4. Логические операции

Логические операции принимают в качестве операндов выражения, имеющие тип Булево.

Операция «НЕ» (NOT)

Операция НЕ возвращает значение Истина, если ее операнд имеет значение Ложь, и Ложь, если ее операнд имеет значение Истина.

Копировать в буфер обмена
НЕ Документ.Грузополучатель = Документ.Грузоотправитель

Операция «И» (AND)

Операция И возвращает значение Истина, если оба операнда имеют значение Истина, и Ложь, если один из операндов имеет значение Ложь.

Копировать в буфер обмена
Документ.Грузополучатель = Документ.Грузоотправитель И Документ.Грузополучатель = &Контрагент

Операция «ИЛИ» (OR)

Операция ИЛИ возвращает значение Истина, если один из операндов имеет значение Истина, и Ложь, если оба операнда имеют значение Ложь.

Копировать в буфер обмена
Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = &Контрагент

1.5. Агрегатные функции

Агрегатные функции осуществляют некоторое действие над набором данных.

СУММА (SUM)

Агрегатная функция СУММА рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей. В качестве параметра может быть использован результат функции Массив.

Копировать в буфер обмена
СУММА(Продажи.СуммаОборот)

КОЛИЧЕСТВО (COUNT)

Функция КОЛИЧЕСТВО рассчитывает количество значений, отличных от значения NULL. В качестве параметра может быть использован результат функции Массив. Например:

Копировать в буфер обмена
КОЛИЧЕСТВО(Продажи.Контрагент)

КОЛИЧЕСТВО (РАЗЛИЧНЫЕ) (COUNT (DISTINCT))

Эта функция рассчитывает количество различных значений. В качестве параметра может быть использован результат функции Массив.

Копировать в буфер обмена
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Продажи.Контрагент)

МАКСИМУМ (MAX)

Функция получает максимальное значение. В качестве параметра может быть использован результат функции Массив.

Копировать в буфер обмена
МАКСИМУМ(Остатки.Количество)

МИНИМУМ (MIN)

Функция получает минимальное значение. В качестве параметра может быть использован результат функции Массив.

Копировать в буфер обмена
МИНИМУМ(Остатки.Количество)

СРЕДНЕЕ (AVG)

Функция получает среднее значение для значений, отличных от NULL. В качестве параметра может быть использован результат функции Массив.

Копировать в буфер обмена
СРЕДНЕЕ(Остатки.Количество)

МАССИВ (ARRAY)

Функция возвращает массив, содержащий для каждой детальной записи значение параметра. Если выражение, указанное в параметре, содержит функцию Массив, то считается, что данное выражение является агрегатным. В качестве параметра для функции указывается выражение произвольного типа.

В качестве параметра может быть указано выражение, возвращающее таблицу значений. При этом результатом работы функции Массив будет массив, содержащий значения первой колонки таблицы значений, переданной в качестве параметра.

Копировать в буфер обмена
МАССИВ(КоличествоПредложений)

ТАБЛИЦАЗНАЧЕНИЙ (VALUETABLE)

Функция возвращает таблицу значений, содержащую столько колонок, сколько параметров у функции. Детальные записи получаются из наборов данных, которые нужны для получения всех полей, участвующих в выражениях параметров функции. Если выражение содержит функцию ТаблицаЗначений, то считается, что данное выражение является агрегатным.

У функции может быть один или несколько параметров произвольного типа. После каждого параметра может располагаться необязательное ключевое слово КАК и имя, которое будет назначено колонке таблицы значений.

Копировать в буфер обмена
ТаблицаЗначений(Различные Номенклатура, ХарактеристикаНоменклатуры КАК Характеристика)

ГРУППОВАЯОБРАБОТКА (GROUPPROCESSING)

Функция возвращает объект ДанныеГрупповойОбработкиКомпоновкиДанных (DataCompositionGroupProcessingData), который имеет следующие свойства:

Данные (Data). Тип – таблица значений. В это свойство функция помещает таблицу значений, содержащую результаты вычисления выражения, указанного в первом параметре функции для каждой групповой записи группировки. Если группировка иерархическая, то каждый уровень иерархии обрабатывается функцией отдельно, при этом значения для иерархических записей также помещаются в данные.

ТекущийЭлемент (CurrentItem) – строка таблицы значений, являющихся текущими. При вызове для общего итога ТекущийЭлемент содержит значение Неопределено. В данное свойство функция помещает строку таблицы значений, для которой в настоящий момент вычисляется функция.

ВременныеДанныеОбработки (ProcessingTempData) – структура, в которую могут быть помещены данные промежуточных результатов. Рекомендуется в различных функциях давать свойствам уникальные имена, т. к. возможна ситуация, когда один и тот же объект ДанныеГрупповойОбоработкиКомпоновкиДанных будет передан в несколько различных функций.

Функция имеет следующие параметры:

Выражения – строка, в которой через запятую перечислены выражения, которые нужно вычислить. После каждого выражения возможно наличие необязательного ключевого слова КАК и имени колонки результирующей таблицы значений.

ВыраженияИерархии – выражения, которые нужно вычислить для иерархических записей. Аналогично параметру Выражения с тем отличием, что параметр Выражения используется для неиерархических записей, а параметр ВыраженияИерархии используется для иерархических записей. Если параметр не указан, то для вычисления значений для иерархических записей используются выражения, указанные в параметре Выражение.

ИмяГруппировки – имя группировки, в которой нужно вычислять группировку обработки. Тип Строка. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя именем группировки в результирующем макете. Если группировка недоступна, то функция будет заменена на значение NULL.

Копировать в буфер обмена
ГрупповаяОбработка("Сумма(СуммаОборот)")

СВЕРНУТЬ (GROUPBY)

Функция предназначена для удаления дубликатов из массива. Возвращает массив или таблицу значений, в которой отсутствуют дублирующиеся элементы.

Параметры:

Массив или таблица значений;

● номера или имена колонок таблицы значений, среди которых нужно искать дубликаты. По умолчанию все колонки (через запятую).

ПОЛУЧИТЬЧАСТЬ(GETPART)

Функция возвращает таблицу значений, содержащую определенные колонки из исходной таблицы значений.

Параметры:

● таблица значений, из которой нужно получить колонки;

● номера или имена колонок, которые нужно получить, разделенные запятой.

Возвращаемое значение: таблица значений, включающая только колонки, которые указаны в параметре Номера/имена колонок.

УПОРЯДОЧИТЬ(ORDER)

Предназначена для упорядочивания элементов массива.

Параметры:

Массив или ТаблицаЗначений;

● номер или имя колонки таблицы значений, по которой нужно упорядочить. Для массива номер можно не указывать. Направление упорядочивания Необходимость автоупорядочивания. Убыв/Возр + Автоупорядочивание.

Возвращаемое значение: массив или таблица значений с упорядоченными элементами.

СОЕДИНИТЬСТРОКИ (JOINSTRINGS)

Агрегатная функция, позволяющая объединять строки в одну строку.

Параметры:

Значения, которые нужно объединить в одну строку. Если является массивом, то в строку будут объединяться элементы массива. Если является таблицей значений, то в строку будут объединяться все колонки и строки таблицы.

Разделитель элементов. Строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию символ перевода строк.

Разделители колонок. Строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию «;».

Каждый (Every)

Если хоть одна запись имеет значение Ложь, то функция возвращает Ложь. Иначе – Истина.

Синтаксис:

Каждый(Выражение)

Параметр:

Выражение – тип Булево.

Пример:

Копировать в буфер обмена
Каждый()

Любой (Any)

Если хоть одна запись имеет значение Истина, то результат – Истина. Иначе – Ложь.

Синтаксис:

Любой(Выражение)

Параметр:

Выражение – тип Булево.

Пример:

Копировать в буфер обмена
Любой()

СтандартноеОтклонениеГенеральнойСовокупности (Stddev_Pop)

Вычисляет стандартное отклонение совокупности. Используется формула: SQRT(ДисперсияГенеральнойСовокупности(X))

Синтаксис: СтандартноеОтклонениеГенеральнойСовокупности(Выражение)

Параметр:

 Выражение – тип Число.

Тип возвращаемого значения – Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ ДисперсияВыборки(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
805.694444

СтандартноеОтклонениеВыборки (Stddev_Samp)

Функция вычисляет совокупное типовое стандартное отклонение. Используется формула: SQRT(ДисперсияВыборки(X))

Синтаксис:

СтандартноеОтклонениеВыборки(Выражение)

Параметр:

 Выражение – тип Число.

Тип возвращаемого значения – Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ СтандартноеОтклонениеВыборки(Y) ИЗ Таблица

Результат:

Копировать в буфер обмена
Result

ДисперсияВыборки (Var_Samp)

Функция вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(X^2) - Сумма(X)^2 / Количество(X)) / (Количество(X) - 1).

Если Количество(X) = 1, то возвращается значение NULL.

Синтаксис:

ДисперсияВыборки(Выражение)

Параметр:

Выражение – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ ДисперсияВыборки(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
805.694444

ДисперсияГенеральнойСовокупности (Var_Pop)

Функция вычисляет различие совокупности ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(X ^2) - Сумма(X)^2 / Количество(X)) / Количество(X).

Синтаксис:

ДисперсияГенеральнойСовокупности(Выражение)

Параметр:

Выражение – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ ДисперсияГенеральнойСовокупности(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
716.17284

КовариацияГенеральнойСовокупности (Covar_Pop)

Вычисляет ковариацию ряда числовых пар. Используется формула: (Сумма(Y * X) - Сумма(X) * Сумма(Y) / n) / n, где n число пар (Y, X), в которых ни Y ни X не являются NULL.

Синтаксис:

КовариацияГенеральнойСовокупности(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ КовариацияГенеральнойСовокупности(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
59.4444444

КовариацияВыборки (Covar_Samp)

Вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Используется формула: (Сумма(Y * X) - Сумма(Y) * Сумма(X) / n) / (n-1), где n число пар (Y, X) в которых ни Y, ни X не являются NULL.

Синтаксис:

КовариацияВыборки(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ КовариацияВыборки(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
66.875

Корреляция (Corr)

Функция вычисляет коэффициент корреляции ряда числовых пар. Используется формула: КовариацияГенеральнойСовокупности(Y, X) / (СтандартноеОтклонениеГенеральнойСовокупности(Y) * СтандартноеОтклонениеГенеральнойСовокупности(X)). Не учитываются пары, в которых Y или XNULL.

Синтаксис:

Корреляция(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ Корреляция(X, Y) ИЗ Таблица

Результат:

Копировать в буфер обмена
0.860296149

РегрессияНаклон (Regr_Slope)

Функция вычисляет наклон линии. Используется формула: КовариацияГенеральнойСовокупности(Y, X) / ДисперсияГенеральнойСовокупности(X). Вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияНаклон(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияНаклон(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
 8.91666667

РегрессияОтрезок (Regr_Intercept)

Функция вычисляет Y-точку пересечения линии регресса. Используется формула: Среднее(Y) - РегрессияНаклон(Y, X) * Среднее(X). При вычислении не учитываются пары, содержащие NULL.

Синтаксис:

 РегрессияОтрезок(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияОтрезок(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
-20.361111

РегрессияКоличество (Regr_Count)

Вычисляет количество пар, не содержащих NULL.

Синтаксис:

РегрессияКоличество(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияКоличество(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
9

РегрессияR2 (Regr_R2)

Вычисляет коэффициент детерминации. Вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияR2(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Возвращаемое значение:

 NULL – если ДисперсияГенеральнойСовокупности(X)=0; 1 – если ДисперсияГенеральнойСовокупности(Y)=0 и ДисперсияГенеральнойСовокупности(X)<>0; POW(Корреляция(Y,X),2) – если ДисперсияГенеральнойСовокупности(Y)>0 и ДисперсияГенеральнойСовокупности(X)<>0.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияR2(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
0.740109464

РегрессияСреднееX (Regr_AvgX)

Вычисляет среднее число Y после исключения X и Y пар, где или X, или Y являются пустыми. Среднее (X) вычисляется без учета пар, содержащих NULL.

Синтаксис:

 РегрессияСреднееX(Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияСреднееX(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
5

РегрессияСреднееY (Regr_AvgY)

Функция вычисляет среднее число X после исключения X и Y пар, где или X, или Y являются пустыми. Среднее (Y) вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияСреднееY (Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияСреднееY(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
24.2222222

РегрессияSXX (Regr_SXX)

Функция возвращает сумму квадратов независимых выражений, используемых в линейной модели регресса. Функция может использоваться, чтобы оценить статистическую обоснованность модели регресса.

Значение вычисляется по формуле: РегрессияКоличество(Y, X) * ДисперсияГенеральнойСовокупности(X). При этом пары, содержащие NULL, не учитываются.

Синтаксис:

РегрессияSXX (Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияSXX(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
60

РегрессияSYY (Regr_SYY)

Функция вычисляет значение по формуле: РегрессияКоличество(Y, X) * ДисперсияГенеральнойСовокупности(Y).

Значение вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияSYY (Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияSYY(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
6445.55556

РегрессияSXY (Regr_SXY)

Функция вычисляет значение по формуле: РегрессияКоличество(Y, X) * КовариацияГенеральнойСовокупности(Y, X). Вычисляется без учета пар, содержащих NULL.

Синтаксис:

РегрессияSXY (Y, X)

Параметры:

Y – тип Число;

X – тип Число.

Пример:

X

Y

1

7

2

1

3

2

4

5

5

7

6

34

7

32

8

43

9

87

Копировать в буфер обмена
ВЫБРАТЬ РегрессияSXY(Y, X) ИЗ Таблица

Результат:

Копировать в буфер обмена
535

МестоВПорядке (Rank)

Синтаксис:

МестоВПорядке(Порядок, ПорядокИерархии, ИмяГруппировки)

Параметры:

Порядок – тип Строка. Содержит выражения, в последовательности которых нужно расположить групповые записи, разделенные через запятую. Направление упорядочивания управляется при помощи слов Возр, Убыв. После поля также можно указать строку Автоупорядочивание, что обозначает, что при упорядочивании ссылок нужно использовать поля упорядочивания, определенные для объекта, на который ссылка. Если последовательность не указана, то значение рассчитывается в последовательности группировки;

ПорядокИерархии – тип Строка. Содержит выражения упорядочивания для иерархических записей;

ИмяГруппировки – тип Строка. Имя группировки, в которой нужно вычислять группировку обработки. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL.

Пример:

Копировать в буфер обмена
МестоВПорядке("[Количество Оборот]")

КлассификацияABC (ClassificationABC)

Функция возвращает номер класса, начиная с 1, который соответствует классу А.

Синтаксис:

КлассификацияABC(Значение, КоличествоГрупп, ПроцентыДляГрупп, ИмяГруппировки)

Параметры:

Значение – тип Строка. Значение, по которому нужно рассчитывать классификацию. Строка, в которой указано выражение;

КоличествоГрупп – тип Число. Задает количество групп, на которое нужно разбить;

ПроцентыДляГрупп – тип Число. Количество групп, на которое нужно разбить минус 1. Указывается через запятую;

ИмяГруппировки – тип Строка. Имя группировки, в которой нужно вычислять группировку обработки. Если не указано, то вычисление происходит в текущей группировке. Если вычисление выполняется в таблице и параметр содержит пустую строку или не указан, то значение вычисляется для группировки-строки. Данное имя будет заменено на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL.

Пример:

Копировать в буфер обмена
КлассификацияABC("Сумма([Количество Оборот])", 3)

1.6. Другие операции

Операция «ВЫБОР»

Операция ВЫБОР предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий.

Копировать в буфер обмена
ВЫБОР Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец

Правила сравнения двух значений

Если типы сравниваемых значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов:

NULL (самый низший),

Булево,

Число,

Дата,

Строка,

● ссылочные типы.

Отношения между различными ссылочными типами определяются на основе ссылочных номеров таблиц, соответствующих тому или иному типу.

Если типы данных совпадают, то производится сравнение значений по следующим правилам:

● у типа Булево значение ИСТИНА больше значения ЛОЖЬ;

● у типа Число обычные правила сравнения для чисел;

● у типа Дата более ранние даты меньше более поздних;

● у типа Строка строки сравниваются в соответствии с установленными национальными особенностями базы данных;

● ссылочные типы сравниваются на основе своих значений (номера записи и т. п.).

Работа со значением NULL

Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.

Есть исключения:

● операция И будет возвращать NULL только в случае, если ни один из операндов не имеет значения Ложь;

● операция ИЛИ будет возвращать NULL только в случае, если ни один из операндов не имеет значение Истина.

Приоритеты операций

Операции имеют следующие приоритеты (первая строка имеет низший приоритет):

ИЛИ;

И;

НЕ;

В, ЕСТЬ NULL, ЕСТЬ НЕ NULL;

=, <>, <=, <, >=, >;

Бинарный +, Бинарный –;

*, /, %;

Унарный +, Унарный .

1.7. Функции

ВЫЧИСЛИТЬ (EVAL)

Функция ВЫЧИСЛИТЬ предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение.

Функция имеет следующие параметры:

Выражение – строка, содержащая вычисляемое выражение.

Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. Если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. Если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.

Тип расчета – строка, содержащая тип расчета. Если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. Если значение параметра – Группировка, значения будут вычисляться для текущей групповой записи группировки.

Копировать в буфер обмена
СУММА(Продажи.СуммаОборот) / ВЫЧИСЛИТЬ("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")

В данном примере в результате получится отношение суммы по полю Продажи.СуммаОборот записи группировки к сумме того же поля во всей компоновке.

ВЫЧИСЛИТЬВЫРАЖЕНИЕ (EVALEXPRESSION)

Функция возвращает выражение для записи указанной группировки. Имеет следующие параметры:

Вычисляемое выражение. Строка, содержащая выражение, которое требуется вычислить.

Группировка. Строка, содержащая имя группировки, в которой требуется вычислить выражение. Если в качестве имени группировки используется пустая строка, то вычисление будет выполнено для текущей группировки. Если указана строка ОбщийИтог, то вычисление будет выполнено для общего итога. Если в параметре указано имя группировки-строки или указана пустая строка, то при вычислении в таблице вычисление будет выполнено для группировки, полученной на пересечении требуемой области вычисления (см. описание третьего параметра) и текущей строки группировки колонки. Если в параметре указано имя группировки-колонки, то вычисление выполняется для группировки, полученной на пересечении области вычисления группировки-колонки и текущей записи группировки-строки.

Область вычисления. Строка, содержащая область вычисления. Если в качестве области вычисления используется пустая строка, то вычисление будет выполнено для текущей записи группировки, указанной в первом параметре. Если параметр содержит строку ОбщийИтог, то вычисление будет выполнено для общего итога по группировке, указанной во втором параметре.

Если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки.
Если параметр имеет значение ГруппировкаНеРесурса, то при вычислении функции для групповой записи по ресурсам выражение будет вычислено для первой групповой записи исходной группировки.
При вычислении функции ВычислитьВыражение со значением ГруппировкаНеРесурса для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась со значением параметра Группировка.
Компоновщик макета компоновки данных при генерации макета компоновки данных, при выводе в макет поля-ресурса, по которому выполняется группировка, выдает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение с указанным параметром ГруппировкаНеРесурса. Для остальных ресурсов в группировке по ресурсу выдаются обычные выражения ресурсов.

Если параметр содержит строку Иерархия, то выражение будет вычислено для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи нет. Компоновщик макета при генерации выражения для поля % в группе иерархии генерирует выражение, содержащее отношение выражения ресурса к функции ВычислитьВыражение для выражения ресурса, вычисляемого для текущей группировки с типом вычисления Иерархия.

Начало. Указывает, с какой записи нужно начинать фрагмент, в котором рассчитывать агрегатные функции выражения и из какой записи получать значения полей вне агрегатных функций. Строка, содержащая одно из значений:

Первая (First). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно быть целым числом больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.
Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.

Последняя (Last). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно быть целым числом больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.
Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.

Предыдущая (Previous). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.
Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то получается первая запись группировки.
При получении предыдущей записи для итога по группировке получается первая запись.

Следующая (Next). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.
Если следующая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3 и для третьей записи получают Следующая, то считается, что записей нет.
При получении следующей записи для итога по группировке считается, что записи нет.

Текущая (Current). Необходимо получить текущую запись.

При получении для итога по группировке получается первая запись.

ОграничивающееЗначение (BoundaryValue). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.

В качестве записи будет получаться первая запись, значение поля упорядочивания у которой больше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010 и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.02.2010.

Конец. Указывает, до какой записи нужно продолжать фрагмент, в котором рассчитывать агрегатное выражение. Строка, содержащая одно из значений:

Первая (First). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно быть целым числом больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.

Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.

Последняя (Last). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно быть целым числом больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.

Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.

Предыдущая (Previous). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.

Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то считается, что записей нет.

При получении предыдущей записи для итога по группировке считается последняя запись.

Следующая (Next). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.

Если следующая запись выходит за пределы группировки, получается последняя запись. Например, если записей 3 и для третьей записи получают Следующая, то получается третья запись.

При получении следующей записи для итога по группировке считается, что записи нет.

Текущая (Current). Необходимо получить текущую запись.

При получении для итога по группировке получается первая запись.

ОграничивающееЗначение (BoundaryValue). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках следует указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.

В качестве записи будет получаться последняя запись, значение поля упорядочивания у которой меньше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.01.2010.

Сортировка. Строка, в которой перечисляются выражения, разделенные запятыми, в направлении которых нужно упорядочивать последовательность. Если не указана, то упорядочивание выполняется так же, как и у группировки, для которой вычисляется выражение. После каждого выражения можно указать ключевое слово Возр для упорядочивания по возрастанию, Убыв для упорядочивания по убывания, Автоупорядочивание для упорядочивания ссылочных полей по полям, по которым нужно упорядочивать объект, на который выполняется ссылка. Слово Автоупорядочивание может использоваться как со словом Возр, так и со словом Убыв.

ИерархическаяСортировка. Строка, в которой перечисляются выражения, разделенные запятыми, в направлении которых нужно упорядочивать последовательность. Применяется для упорядочивания иерархических записей. Если не указано, то упорядочивание будет выполнено в соответствии с упорядочиванием, указанным в параметре Сортировка.

ОбработкаОдинаковыхЗначенийПорядка. Строка, содержащая одно из значений:

Вместе (Together) обозначает, что предыдущая и следующие записи определяются на основании значений выражений упорядочивания.

Отдельно (Separately) обозначает, что для определения предыдущей и следующей записей используется последовательность упорядоченных записей.

Например, если полученная последовательность упорядочена по дате:

Копировать в буфер обмена
1. 01 января 2001 Иванов М. 10
Копировать в буфер обмена
2. 02 января 2001 Петров С. 20
Копировать в буфер обмена
3. 02 января 2001 Сидоров Р. 30
Копировать в буфер обмена
4. 03 января 2001 Петров С. 40

При использовании в обработке одинаковых значений порядка Отдельно предыдущей к записи 3 будет запись 2, а при использовании Вместе – запись 1. А фрагментом для текущей записи к записи 2 для Отдельно будет запись 2, а для Вместе – записи 2 и 3. Таким образом, сумма по текущей записи для Отдельно составит 20, а для Вместе – 50.

При указанном Вместе в параметрах Начало и Конец нельзя указывать смещение для позиций Первая, Последняя, Предыдущая, Следующая.

По умолчанию Отдельно.

Пример использования параметров

Если требуется рассчитать сумму с накоплением, то можно использовать следующее выражение:

Копировать в буфер обмена
ВычислитьВыражение("Сумма(СуммаОборот)", , , "Первая", "Текущая")

Если требуется получить значение группировки в предыдущей строке, то можно использовать следующее выражение:

Копировать в буфер обмена
ВычислитьВыражение("Курс", , , "Предыдущая")

Функция ВычислитьВыражение учитывает отбор группировок, но не учитывает иерархические отборы.

Функция ВычислитьВыражение не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение("Сумма(СуммаОборот)", , "ОбщийИтог") > 1000. Но такое выражение можно использовать в иерархическом отборе.

Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

При расчете интервальных выражений для общего итога (второй параметр функции ВычислитьВыражение имеет значение "ОбщийИтог") считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.

УРОВЕНЬ (LEVEL)

Функция предназначена для получения текущего уровня записи.

Копировать в буфер обмена
УРОВЕНЬ()

УРОВЕНЬВГРУППИРОВКЕ (LEVELINGROUP)

Функция предназначена для получения уровня записи относительно корня группировки.

Копировать в буфер обмена
УРОВЕНЬВГРУППИРОВКЕ()

ЗНАЧЕНИЕЗАПОЛНЕНО (VALUEISFILLED)

Возвращает Истину, если значение отлично от значения данного типа по умолчанию, отлично от значения NULL, отлично от пустой ссылки, отлично от значения Неопределено. Для логических значений осуществляется проверка на значение NULL. Для строк осуществляется проверка на отсутствие непробельных символов.

НОМЕРПОПОРЯДКУ (SERIALNUMBER)

Получить следующий порядковый номер.

Копировать в буфер обмена
НОМЕРПОПОРЯДКУ()

НОМЕРПОПОРЯДКУВГРУППИРОВКЕ (GROUPSERIALNUMBER)

Возвращает следующий порядковый номер в текущей группировке.

Копировать в буфер обмена
НОМЕРПОПОРЯДКУВГРУППИРОВКЕ()

ФОРМАТ (FORMAT)

Получить отформатированную строку переданного значения. Форматная строка задается в соответствии с форматной строкой «1С:Предприятия».

Параметры:

Значение,

Форматная строка.

Копировать в буфер обмена
ФОРМАТ(РасходныеНакладные.СуммаДок, "ЧДЦ=2")

НАЧАЛОПЕРИОДА (BEGINOFPERIOD)

Функция предназначена для выделения определенной даты из заданной даты.

Параметры:

Выражение типа Дата;

Тип периода – строка, содержащая одно из значений:

Минута,

Час,

День,

Неделя,

Месяц,

Квартал,

Год,

Декада,

Полугодие.

Копировать в буфер обмена
НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(2009, 10, 12, 10, 15, 34), "Месяц") 

Результат:

Копировать в буфер обмена
01.10.2009 0:00:00

КОНЕЦПЕРИОДА (ENDOFPERIOD)

Функция предназначена для выделения определенной даты из заданной даты.

Параметры:

Выражение типа Дата;

Тип периода – строка, содержащая одно из значений:

Минута,

Час,

День,

Неделя,

Месяц,

Квартал,

Год,

Декада,

Полугодие.

Копировать в буфер обмена
КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(2009, 10, 12, 10, 15, 34), "Неделя") 

Результат:

Копировать в буфер обмена
 13.10.2009 23:59:59.

ДОБАВИТЬКДАТЕ (DATEADD)

Функция предназначена для прибавления к дате некоторой величины. Параметры:

Выражение типа Дата;

Тип увеличения – строка, содержащая одно из значений:

Секунда,

Минута,

Час,

День,

Неделя,

Месяц,

Квартал,

Год,

Декада,

Полугодие.

Величина – на сколько необходимо увеличить дату. Тип Число. Дробная часть игнорируется.

Копировать в буфер обмена
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2009, 10, 12, 10, 15, 34), "Месяц", 1) 

Результат:

Копировать в буфер обмена
 12.11.2009 10:15:34

РАЗНОСТЬДАТ (DATEDIFF)

Функция предназначена для получения разницы между двумя датами. Параметры:

Выражение типа Дата;

Выражение типа Дата;

Тип разности – одно из значений:

Секунда,

Минута,

Час,

День,

Месяц,

Квартал,

Год.

Копировать в буфер обмена
РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2009, 10, 12, 10, 15, 34), 
Копировать в буфер обмена
            ДАТАВРЕМЯ(2009, 10, 14, 9, 18, 06), 
Копировать в буфер обмена
            "День") 

Результат:

Копировать в буфер обмена
2

ТЕКУЩАЯДАТА (CURRENTDATE)

Возвращает системную дату. При компоновке макета компоновки во всех выражениях, которые присутствуют в компоновке, функция ТЕКУЩАЯДАТА заменяется значением текущей даты.

Копировать в буфер обмена
ТЕКУЩАЯДАТА()

ПОДСТРОКА (SUBSTRING)

Данная функция предназначена для выделения подстроки из строки. Параметры:

● выражение, имеющее строковый тип;

● позиция символа, с которого начинается выделяемая из строки подстрока;

● длина выделяемой подстроки.

Копировать в буфер обмена
ПОДСТРОКА(Контрагенты.Адрес, 1, 4) 

ДЛИНАСТРОКИ (STRINGLENGTH)

Функция предназначена для определения длины строки. Параметр – выражение строкового типа.

Копировать в буфер обмена
ДЛИНАСТРОКИ(Контрагенты.Адрес)

ГОД (YEAR)

Данная функция предназначена для выделения года из значения типа Дата. Единственный параметр – это выражение, имеющее тип Дата.

Копировать в буфер обмена
ГОД(РасхНакл.Дата)

КВАРТАЛ (QUARTER)

Данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
КВАРТАЛ(РасхНакл.Дата)

МЕСЯЦ (MONTH)

Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапазоне от 1 до 12. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
МЕСЯЦ(РасхНакл.Дата)

ДЕНЬГОДА (DAYOFYEAR)

Данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365 (366). Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
ДЕНЬГОДА(РасхНакл.Дата)

ДЕНЬ (DAY)

Данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
ДЕНЬ(РасхНакл.Дата)

НЕДЕЛЯ (WEEK)

Данная функция предназначена для получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
НЕДЕЛЯ(РасхНакл.Дата)

ДЕНЬНЕДЕЛИ (WEEKDAY)

Данная функция предназначена для получения дня недели из значения типа Дата. День недели в норме находится в диапазоне от 1 (понедельник) до 7 (воскресенье). Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
ДЕНЬНЕДЕЛИ(РасхНакл.Дата)

ЧАС (HOUR)

Данная функция предназначена для получения часа суток из значения типа Дата. Час суток находится в диапазоне от 0 до 23. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
ЧАС(РасхНакл.Дата) 

МИНУТА (MINUTE)

Данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
МИНУТА(РасхНакл.Дата)

СЕКУНДА (SECOND)

Данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59. Единственный параметр функции – это выражение, имеющее тип Дата.

Копировать в буфер обмена
СЕКУНДА(РасхНакл.Дата)

ВЫРАЗИТЬ (CAST)

Данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. Если выражение будет содержать тип, отличный от требуемого, будет возвращено значение NULL.

Параметры:

Преобразуемое выражение;

Тип – строка, содержащая строку типа. Например, Число, Строка и т. п. Кроме примитивных типов данная строка может содержать имя таблицы. В таком случае будет осуществлена попытка выразить к ссылке на указанную таблицу.

Копировать в буфер обмена
ВЫРАЗИТЬ(Данные.Реквизит1, "Число(10,3)")

ЕСТЬNULL (ISNULL)

Данная функция возвращает значение второго параметра, если значение первого параметра – NULL. В противном случае будет возвращено значение первого параметра.

Копировать в буфер обмена
ЕСТЬNULL(Сумма(Продажи.СуммаОборот), 0)

Cos

Вычисляет косинус.

Синтаксис:

 Cos(Выражение).

Параметр:

Выражение – тип Число. Задается в радианах.

ACos

Вычисляет арккосинус в радианах.

Синтаксис:

 ACos(Выражение)

Параметр:

 Выражение – тип Число. Значение косинуса (в диапазоне -1 ... 1), по которому определяется угол.

Sin

Вычисляет синус.

Синтаксис:

Sin(Выражение)

Параметр:

Выражение – тип Число. Задается в радианах.

ASin

Вычисляет арксинус в радианах.

Синтаксис:

ASin(Выражение)

Параметр:

 Выражение – тип Число. Значение синуса (в диапазоне -1 ... 1), по которому определяется угол.

Tan

Вычисляет тангенс.

Синтаксис:

Tan(Выражение)

Параметр:

Выражение – тип Число. Значение синуса, по которому определяется угол.

ATan

Вычисляет арктангенс в радианах.

Синтаксис:

ATan(Выражение)

Параметр:

 Выражение – тип Число. Значение тангенса, по которому определяется угол.

Exp

Возведение числа e в степень.

Синтаксис:

Exp(Выражение)

Параметр:

Выражение – тип Число. Значение степени.

Log

Вычисляет натуральный логарифм.

Синтаксис:

Log(Выражение)

Параметр:

Выражение – тип Число. Исходное число, больше 0.

Log10

Вычисляет логарифм X по основанию 10.

Синтаксис:

Log10(Выражение)

Параметр:

Выражение – тип Число. Исходное число, больше 0.

Pow

Возведение в степень.

Синтаксис:

Pow(Основание, Показатель)

Параметры:

Основание – тип Число. Основание операции возведения в степень.

Показатель – тип Число. Показатель степени.

Sqrt

Вычисляет квадратный корень.

Синтаксис:

Sqrt(Выражение)

Параметр:

Выражение – тип Число. Неотрицательное число.

Окр (Round)

Округляет исходное число до требуемой разрядности. Режим округления стандартный (1,5 как 2).

Синтаксис:

Окр(Выражение, Разрядность)

Параметры:

Выражение – тип Число. Исходное число. Разрядность – тип Число. Число знаков дробной части, до которых производится округление.

Цел (Int)

Отсекает дробную часть числа.

Синтаксис:

Цел(Выражение)

Параметр:

Выражение – тип Число. Дробное число.